home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / c / README < prev    next >
Text File  |  2000-01-01  |  12KB  |  214 lines

  1. kickstart/scsidisk
  2.  
  3.     A SCSIDirect command should no longer mess up scsi.device
  4.     command handling if it was handled with a BUSY status
  5.     internally. The disk size calculation returned the # of blocks
  6.     - 1. This messed up TD_GETGEOMETRY results. TD_GETGEOMETRY will
  7.     now return decent results, including the head count and
  8.     related values. R/W handling did use two's complement
  9.     arithmetic when doing mapped block handling. Ouch. scsi.device
  10.     is now a New Style Device with 64 bit trackdisk support. RDB
  11.     processing will also be able to access blocks beyond 4GB now
  12.     for whatever it's worth. scsi.device will reject lengths
  13.     now that don't match the blocksize. This finally gets rid of
  14.     the problems occuring when a 0 block count was passed as length
  15.     in a SCSI CDB, i.e. it will return an error now instead of
  16.     locking up everything.
  17.  
  18.     The IDE drive identification was pretty messed up. It did not
  19.     handle ATAPI device recognition and even set up IDE registers
  20.     wrong at certain times.
  21.  
  22.     Added ATAPI support. The polling wait code is still pretty
  23.     ugly and wastes lots of time on slower devices at the moment
  24.     because we don't have a simple way to delay for really short
  25.     times without messing up multitasking. CIA access comes to mind
  26.     but I don't like that. Well, it should work in general and it
  27.     works with my Mitsumi CD-ROM drive at the moment. The 6 Byte
  28.     READ/WRITE/SEEK/MODE commands are silently reworked into the
  29.     extended versions under the assumption that 100% of all ATAPI
  30.     devices will like the extended ones much better. Maybe this
  31.     should be changed to a a retry extended on failure type thing.
  32.  
  33.     Now I can build the A4kT scsi.device with SAS/C 6.56
  34.     _including_ the NCR script. Batteries included.
  35.     Well, actually all devices can be built now. I don't know if
  36.     they all work, though. A3k and A4k[T] devices seem to be ok.
  37.  
  38.     Geometry data will be updated as far as possible on a media
  39.     change now. Issues: What kind of data should be returned when
  40.     no medium is inserted? What about e.g. cyl/sec/head for a
  41.     CD-ROM?
  42.     Froze 43.11
  43.     Fixed a couple of problems in the ATAPI support. Now uses the
  44.     correct transfer length when setting up a command and the
  45.     removable bit should now be correctly evaluated. There was a
  46.     typo. The transfer routines were warped at times, too.
  47.     Internal command evaluation should be safer when it comes to
  48.     the 64 bit set and scsi.device should now skip non disk devices
  49.     when looking for an RDB.
  50.     Fixed a very bad stack bug with the IDE setup which definitely
  51.     killed e.g. the A600 and A1200. Removed the NSD getdrivetype
  52.     hack in anticipation of a corresponding NSD update.
  53.     Froze 43.12.
  54.     The IDE drivers should no longer access undefined memory on
  55.     bootup on an A4k. Also, battmem options should be usable now to
  56.     all hardware models if available. IDE/ATAPI hardware
  57.     recognition has been greatly simplified. We'll see if this
  58.     breaks anybody. It should be less demanding of ATAPI devices
  59.     now while still recognizing "no HW" correctly. The 2nd drive
  60.     battmem bit hack is no longer needed. There may be an
  61.     additional wait of ~1 second for the first try to access a non
  62.     existing ATA[PI] slave with certain master devices like e.g
  63.     a Mitsumi CDROM drive.
  64.     Froze 43.14.
  65.     The ATA[PI] HW recognition should now well handle
  66.         - bad ATA drives that mess up BSY on boot
  67.         - masters that don't handle non existing slaves well
  68.         - ATAPI devices that don't show up as ATAPI well
  69.         - darn slow HW without slowing down faster HW on reset
  70.     Froze 43.15.
  71.     ATAPI handling of MODE SENSE(6) and MODE SELECT(6) was fairly
  72.     warped. This should be much better now. With a little bit of
  73.     luck new ATAPI devices should be recognized and handled now ...
  74.     if READ CAPACITY works as expected. Unfortunately I don't have
  75.     a device to actually test this with. Froze 43.16.
  76.     HD_SCSICMD should now use the correct LUN on SCSIF_AUTOSENSE.
  77.     Bump for beta release. Froze 43.17.
  78.     A tiny little change to the WD-Chip reselection code. At worst
  79.     it does nothing, at best it helps by plugging a potential
  80.     timing hole. You can call this change experimental.
  81.     Highly unlikely that it has any effect.
  82.     I also reworked the ATA[PI] hardware recognition again. This is
  83.     an ugly subject and even with all the specs, I'd really need
  84.     tons of ATA[PI] HW to actually check this. Interesting
  85.     enough, the basic check for no HW as in use for a long time
  86.     isn't reliable according the specs. We keep using it anyway
  87.     due to lack of a much better method. We now have a three pass
  88.     HW recognition. The first pass probes if there is anything out
  89.     there that looks like reasonable HW registers of a device and
  90.     checks for spec'ed time until the device[s] out there are no
  91.     longer busy. It will accept an ATAPI sig. If this pass fails,
  92.     the device will not be instantiated. The second pass checks if
  93.     the registers are at all writeable and not just some bus in the
  94.     floating state. Units found will be marked for testing. The
  95.     third pass is done on device startup when the units are
  96.     accessed. Here, the units marked as possibly available will be
  97.     probed and identified by carefully sending appropriate commands
  98.     with timeout checks. Problems fixed now should be:
  99.         - masters that take seconds to start up with BSY for the
  100.           first time.
  101.         - ATA, ATA/ATAPI, ATAPI, ATAPI/ATAPI combinations.
  102.         - Failure to recognize certain harddrives.
  103.         - Drives that have problems handling the diagnostics
  104.           command.
  105.     ATA[PI] HW recognition is a major pain. The maximum wait is 31
  106.     seconds for !BSY and, for ATA stuff, another 30 seconds
  107.     paranoia for DRDY. Most drives are up after about 5 to 10
  108.     seconds most on initial power up. ATAPI devices are less of a
  109.     problem. This device will not yet differentiate between
  110.     different needed format commands for special ATAPI device
  111.     types. A SCSI Format CDB will be sent through as is. If you
  112.     don't know what you are doing, you may be out of luck.
  113.     TD_GETGEOMETRY should work now with both ATA[PI] devices where
  114.     applicable and flexible disks if possible, SCSI or whatever
  115.     else is supported. If 3D geometry values simply don't apply,
  116.     like on a CD-ROM, scsi.device used to return previous set dummy
  117.     defaults. It will try hard now return only those values that
  118.     make sense and it will no longer return stuff when no disk is
  119.     in the drive. This should help users of some of the common
  120.     removable drives out there. Froze 43.18.
  121.     On a SCSI sync setup (SDTR) message rejected by the target, the
  122.     WD code did not handle sync values for the unit correctly. It
  123.     did not reset to async transfer for the unit, but always for
  124.     unit 0. On an A3k with a reasonably modern HD, things may be
  125.     noticably faster for async transfers now due to a change in the
  126.     SCSI transfer timing that seems to be permissible. Let's see if
  127.     this shows problems with marginal cabling. Let me know if sync
  128.     on/off changes anything if you have problems now. It seems that
  129.     the WD chip/Philips CD writer problem with reselection can't be
  130.     fixed in SW.
  131.     The ATA[PI] hardware check code did not [de]select the drive
  132.     tested correctly after it finished. ATA[PI] hardware
  133.     recognition is still a pain. I wonder who breaks this time.
  134.     Bootup polling now works with 0.25 second intervalls, rather
  135.     than 1 second intervalls. Disk units can no longer be opened,
  136.     if the device is unable to determine *anything* reasonable
  137.     about their geometry. Finally, I gave up on "improving"
  138.     the existing ATA[PI] hardware recognition. I set it up from
  139.     scratch to establish a framework that may finally make it
  140.     possible to create something reliable. My new approach could
  141.     definitely fail in a few circumstances for a physcial device:
  142.         1. If it fails to intially set up registers and assert BSY
  143.            within a second after initial reset. Violates specs.
  144.         2. If it fails to either set up an ATA or ATAPI signature
  145.            and correct diagnostic code. Violates specs.
  146.         3. If device 1 is ATA, noticably slower than the master and
  147.            does not have DRDY set up when device 0 has been
  148.            initialized and handled. The problem here is that for
  149.            device 0 only configurations DRDY won't ever be set for
  150.            device 1 and that I didn't find a spec conforming and
  151.            safe probe yet if DRDY for device 1 will ever be set. So
  152.            it's rolling the dice here at the moment.
  153.     The mount code would never safely automount a device 1 ATA[PI]
  154.     drive. A byte unit number was tested as long and it worked by
  155.     accident only if the master device was a harddrive. Has been in
  156.     there probably since the very beginning of time.
  157.     Froze 43.19.
  158.     Added LBA support to the ATA drive code. Not really needed up
  159.     to 8.5GB, but what the heck. LBA is used for drives that report
  160.     LBA and more than 1024 cylinders. Just in case.
  161.     Froze 43.20.
  162.     To handle slow drives that violate specs, the ATA[PI] hardware
  163.     recognition will now wait two seconds on bootup before trying
  164.     to identify drives. This should fix slow drives on fast
  165.     machines for good. Froze 43.21.
  166.     CMD_UPDATE tried to sync caches even for non inserted media.
  167.     This restarted, e.g., a JAZ drive in unexpected ways.
  168.     Froze 43.22.
  169.     Beta update. Froze 43.23.
  170.     Device recognition is now a second more lenient.
  171.     Froze 43.24.
  172.  
  173. To use this device, you need a V40 based system and the included
  174. LoadV43Module command. You must place suitable lines like:
  175.  
  176.     LoadV43Module >NIL: <module> [REBOOT]
  177.  
  178. as the very first lines _before_ SetPatch into your
  179. S:Startup-Sequence. This is one of the very few occasions where the
  180. Startup-Sequence may be changed. If you have multiple modules
  181. installed, make sure that only the _last_ call to LoadV43Module
  182. contains the REBOOT option. If this is the only module, make sure
  183. that you specify REBOOT. You should make sure that you load the
  184. right module[s]:
  185.  
  186.     a300.ld.strip           A1200 IDE
  187.     a600.ld.strip           A600 IDE
  188.     a1000.ld.strip          A4000[T] IDE
  189.     a4000t.ld.strip         A4000T SCSI
  190.     scsidisk.ld.strip       A3000[T]
  191.  
  192. LoadV43Module will install the module in memory if necessary and
  193. reboot after the installation to activate the module if REBOOT has
  194. been specified. On an A3k, you may want to specify DEADLY as
  195. additional option to REBOOT. Basically this means that the first
  196. boot will use the original ROM OS modules and be rebooted
  197. automatically to use the new ones after they are installed. Any
  198. further reboots will use the new modules if SysBase has not been
  199. trashed in the meantime. Note that on an A4000T, you may want to
  200. update both IDE and SCSI devices. Thanks to Olaf Barthel for
  201. helping out with the code for LoadV43Module.
  202.  
  203. Incompatibilities with different ATAPI devices may occur. Detailed
  204. bug and performance reports are welcome.
  205.  
  206. As there has been some confusion about 64 bit support, please refer
  207. to the NSD directory on ftp.amiga.de for the current official
  208. documentation for the standards supported by Amiga International,
  209. Inc. Please Check the DevInfo section of the Amiga Developer CD
  210. and/or ftp.amiga.de as appropriate for updated information
  211. periodically.
  212.  
  213. Heinz Wrobel
  214.